package com.ian.offer;

/**
 * @author zhangyaowen
 * @date 2021/2/21 9:22 下午
 */

import com.ian.linked.ListNode;

/**
 * 输入两个递增排序的链表，合并这两个链表并使新链表中的节点仍然是递增排序的。
 *
 * 示例1：
 *
 * 输入：1->2->4, 1->3->4
 * 输出：1->1->2->3->4->4
 * 限制：
 *
 * 0 <= 链表长度 <= 1000
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
public class MergeTwoLists {
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {


        ListNode node = new ListNode(0);
        ListNode curr = node;


        while(l1 !=null && l2!=null){

            if(l1.val <l2.val){
                curr.next = l1;
                l1 =l1.next;
            }else{
                curr.next = l2;
                l2 = l2.next;
            }

            curr = curr.next;
        }
        curr.next = l1 ==null? l2:l1;


        return node.next;
    }
}
